home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 2003 June / macformat-130.iso / mac / Reviewed⁄Demos / Spearhead Demo / demota / pak1.pk3 / global / spawner.scr < prev    next >
Encoding:
Text File  |  2002-10-21  |  7.1 KB  |  175 lines

  1. //**********************************************************************************
  2. //*** converts a specified guy into a script_origin
  3. //*** syntax --------------------------------
  4. //*** spawner_create <guy>:
  5. //**********************************************************************************
  6. spawner_create local.dude:
  7.  
  8. //*** check to make sure the person exists
  9. if (!local.dude)
  10. {
  11.     println "^~^~^ SPAWNER CREATE ERROR:  person does not exist in the level, aborting conversion to spawner!!!"
  12.     end
  13. }
  14.  
  15. //*** convert AI local.dude into a spawner local.spawner
  16. local.spawner = spawn script_origin
  17.  
  18. //*** grab all of the AI's properties
  19. local.spawner.origin = local.dude.origin
  20. local.spawner.type_idle = local.dude.type_idle
  21. local.spawner.type_attack = local.dude.type_attack
  22. local.spawner.type_disguise = local.dude.type_disguise
  23. local.spawner.type_grenade = local.dude.type_grenade
  24. local.spawner.hearing = local.dude.hearing
  25. local.spawner.sight = local.dude.sight
  26. local.spawner.fov = local.dude.fov
  27. local.spawner.leash = local.dude.leash
  28. local.spawner.mindist = local.dude.mindist
  29. local.spawner.maxdist = local.dude.maxdist
  30. local.spawner.health = local.dude.health
  31. local.spawner.sound_awareness = local.dude.sound_awareness
  32. local.spawner.noticescale = local.dude.noticescale
  33. local.spawner.fixedleash = local.dude.fixedleash
  34. local.spawner.enemysharerange = local.dude.enemysharerange
  35. local.spawner.voicetype = local.dude.voicetype
  36. local.spawner.accuracy = local.dude.accuracy
  37. local.spawner.ammo_grenade = local.dude.ammo_grenade
  38. local.spawner.gren_awareness = local.dude.gren_awareness
  39. local.spawner.nosurprise = local.dude.nosurprise
  40. local.spawner.disguise_range = local.dude.disguise_range
  41. local.spawner.disguise_period = local.dude.disguise_period
  42. local.spawner.disguise_accept_thread = local.dude.disguise_accept_thread
  43. local.spawner.disguise_level = local.dude.disguise_level
  44. local.spawner.patrolpath = local.dude.patrolpath
  45. local.spawner.waittrigger = local.dude.waittrigger
  46. local.spawner.turret = local.dude.turret
  47. local.spawner.alarmnode = local.dude.alarmnode
  48. local.spawner.alarmthread = local.dude.alarmthread
  49. local.spawner.spawn_target = local.dude.target
  50. local.spawner.spawn_angle = local.dude.angle
  51. local.spawner.spawn_weapon = local.dude.weapon
  52. local.spawner.set = local.dude.set
  53. local.spawner.group = local.dude.group
  54. local.spawner.healthchance = local.dude.healthchance
  55. local.spawner.area = local.dude.area
  56. local.spawner.enemyname = local.dude.enemyname
  57. local.spawner.playerseek = local.dude.playerseek
  58. local.spawner.fnum = local.dude.fnum
  59. local.spawner.turndoneerror = local.dude.turndoneerror
  60. local.spawner.threatbias = local.dude.threatbias
  61. local.spawner.radnum = local.dude.radnum
  62. local.spawner.balconyheight = local.dude.balconyheight
  63. local.spawner.pause = local.dude.pause
  64.  
  65. local.spawner.spawn_model = local.dude.model
  66. local.spawner.spawn_targetname = local.dude.targetname
  67.  
  68. //*** remove the AI
  69. local.dude remove
  70.  
  71. end local.spawner
  72.  
  73.  
  74. //**********************************************************************************
  75. //*** activates a converted spawner
  76. //*** syntax --------------------------------
  77. //*** spawner_activate <spawner>:
  78. //**********************************************************************************
  79. spawner_activate local.spawner:
  80.  
  81. if (!local.spawner)
  82. {
  83.     println "^~^~^ SPAWNER ACTIVATE ERROR:  spawner does not exist in the level, aborting activation!!!"
  84.     end
  85. }
  86.  
  87. local.dude = spawn local.spawner.spawn_model voicetype local.spawner.voicetype origin local.spawner.origin
  88.  
  89. //*** set the values into the AI from the spawner
  90. local.dude.type_idle = local.spawner.type_idle
  91. local.dude.type_attack = local.spawner.type_attack
  92. local.dude.type_disguise = local.spawner.type_disguise
  93. local.dude.type_grenade = local.spawner.type_grenade
  94. local.dude.hearing = local.spawner.hearing
  95. local.dude.sight = local.spawner.sight
  96. local.dude.fov = local.spawner.fov
  97. local.dude.leash = local.spawner.leash
  98. local.dude.mindist = local.spawner.mindist
  99. local.dude.maxdist = local.spawner.maxdist
  100. local.dude.health = local.spawner.health
  101. local.dude.sound_awareness = local.spawner.sound_awareness
  102. local.dude.noticescale = local.spawner.noticescale
  103. local.dude.fixedleash = local.spawner.fixedleash
  104. local.dude.enemysharerange = local.spawner.enemysharerange
  105. local.dude.accuracy = local.spawner.accuracy
  106. local.dude.ammo_grenade = local.spawner.ammo_grenade
  107. local.dude.gren_awareness = local.spawner.gren_awareness
  108. local.dude.nosurprise = local.spawner.nosurprise
  109. local.dude.disguise_range = local.spawner.disguise_range
  110. local.dude.disguise_period = local.spawner.disguise_period
  111. local.dude.disguise_accept_thread = local.spawner.disguise_accept_thread
  112. local.dude.disguise_level = local.spawner.disguise_level
  113. local.dude.patrolpath = local.spawner.patrolpath
  114. local.dude.waittrigger = local.spawner.waittrigger
  115. local.dude.turret = local.spawner.turret
  116. local.dude.alarmnode = local.spawner.alarmnode
  117. local.dude.alarmthread = local.spawner.alarmthread
  118. local.dude.target = local.spawner.spawn_target
  119. local.dude.angle = local.spawner.spawn_angle
  120. local.dude.weapon = local.spawner.spawn_weapon
  121. local.dude.set = local.spawner.set
  122. local.dude.group = local.spawner.group
  123. local.dude.healthchance = local.spawner.healthchance
  124. local.dude.area = local.spawner.area
  125. local.dude.enemyname = local.spawner.enemyname
  126. local.dude.playerseek = local.spawner.playerseek
  127. local.dude.fnum = local.spawner.fnum
  128. local.dude.turndoneerror = local.spawner.turndoneerror
  129. local.dude.threatbias = local.spawner.threatbias
  130. local.dude.radnum = local.spawner.radnum
  131. local.dude.balconyheight = local.spawner.balconyheight
  132. local.dude.pause = local.spawner.pause
  133.  
  134. end local.dude
  135.  
  136. //**********************************************************************************
  137. //**********************************************************************************
  138.  
  139.  
  140. //**********************************************************************************
  141. //*** converts a specified guy into a script_origin
  142. //*** syntax --------------------------------
  143. //*** spawner_create_targetname <guy>:
  144. //**********************************************************************************
  145. spawner_create_targetname local.dude:
  146.  
  147. //*** check to make sure the person exists
  148. if (!local.dude)
  149. {
  150.     println "^~^~^ SPAWNER CREATE ERROR:  person does not exist in the level, aborting conversion to spawner!!!"
  151.     end
  152. }
  153.  
  154. local.spawner = thread spawner_create local.dude
  155. local.spawner.targetname = local.spawner.spawn_targetname + "_spawner"
  156. end local.spawner
  157.  
  158.  
  159. //**********************************************************************************
  160. //*** activates a converted spawner
  161. //*** syntax --------------------------------
  162. //*** spawner_activate_targetname <spawner>:
  163. //**********************************************************************************
  164. spawner_activate_targetname local.spawner:
  165.  
  166. if (!local.spawner)
  167. {
  168.     println "^~^~^ SPAWNER ACTIVATE ERROR:  spawner does not exist in the level, aborting activation!!!"
  169.     end
  170. }
  171.  
  172. local.dude = thread spawner_activate local.spawner
  173. local.dude.targetname = local.spawner.spawn_targetname
  174. end local.dude
  175.